今天這篇文章是一個介紹文,跟大家分享 Kubernetes 內的一個有趣玩法,Service Catalog。
探討 Service Catalog 之前,我們先來看看 Kubernetes 的一個使用情境。今天我們團隊需要一個 SQL 的 database,請問我需要將該服務放到 Kubernetes 去維護還是直接使用 Cloud Provider 所維護的? 考量到如果 DB 需要有 HA, SLA 等要求,花錢使用 Cloud Provider 就會簡單,如果想要全部自己處理,其實這方面並不簡單,畢竟每種 DB 的架構都不同,要搭建出 HA, Active/Active, Active/Passive 的方式也都不同,當然這選擇都取決於團隊。
假設今天想要使用的是 Cloud Proivder 提供的 DB 服務(PaaS),那下一個問題就是,我要怎麼管理這些資源?
一個直覺的想法就是我可以使用 Terraform 來管理,但是如果你有一種慾望,想要使用 YAML 一統世界的概念,甚至全部都整合到 Helm/Kustomize 來管理,這方面有沒有機會?
如果有,你可以花點時間研究看看 Service Catalog 的生態,Kubernetes 透過 Service Catalog 的整合,讓你有能力透過 Yaml 的方式去創建這些由 Cloud Provider 所維護的資源。
Service Catalog 基本上也是仰賴各家 provider 是否有實現 Open Service Broker API,有的話,就可以於 Kubernetes 內先部署一些相關資源,將你的 Kubernetes 與 Cloud 連動,接者透過這些 API 來創建相關資源
該文章主要是展示如何透過 Kubernetes + Service Catalog 來創建 Azure Database,有興趣的請點選下列連結來觀賞全文
https://medium.com/@HoussemDellai/introduction-to-kubernetes-service-catalog-37317b15670